<?php
/**
 * Copyright (c) 2018,2345
 * 摘    要：更新程序
 * 作    者：林幸亿
 * 修改日期：2018.04.20
 */

require_once 'libraries/MysqlDbClass.php';
require_once 'libraries/RedisDbClass.php';

$id = null;
//Retrieve the User ID from the Query String URL
if (! empty($_GET['id']))
{
    $id = $_REQUEST['id'];
}

//Return to main page if there is no ID
if (null == $id)
{
    header("Location: index.php");
}

//Form submission
if (! empty($_POST))
{
    // keep track validation errors
    $nameError = null;
    $emailError = null;
    $mobileError = null;

    // keep track post values
    $name = $_POST['name'];
    $email = $_POST['email'];
    $mobile = $_POST['mobile'];

    // Validate input
    $valid = true;
    if (empty($name))
    {
        $nameError = '请输入名称<br>Please enter Name';
        $valid = false;
    }

    if (empty($email))
    {
        $emailError = '请输入名称<br>Please enter Email Address';
        $valid = false;
    }
    else if (! filter_var($email, FILTER_VALIDATE_EMAIL))
    {
        $emailError = '请输入有效的电子邮件<br>Please enter a valid Email Address';
        $valid = false;
    }

    if (empty($mobile))
    {
        $mobileError = '请输入手机号码<br>Please enter Mobile Number';
        $valid = false;
    }

    // Update data if validation is successful and redirect to main page
    if ($valid)
    {
        //$pdo = Database::connect();
        //$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        //$sql = "UPDATE customers  set name = ?, email = ?, mobile =? WHERE id = ?";
        //$q = $pdo->prepare($sql);
        //$q->execute(array($name,$email,$mobile,$id));
        //Database::disconnect();

        //Update the user record with all the input fields based on the user id
        
        $db = MysqlDb::getInstance();
        $sql = "UPDATE users SET name = '" . $name . "', email = '" . $email . "', mobile ='" . $mobile . "' WHERE id = " . $id;
        $count = $db->update($sql);
        
        /*
        $redis = RedisDb::getInstance();        
        $redis->hmset('user:' . $id, ['name' => 'elizabeth'] );

        $test = $redis->hmget( 'user:' . $id, 'name');
        //die(var_dump($test));
        */
        //Redirect back to main page
        header("Location: index.php");
    }
}
else
{
    //$pdo = Database::connect();
    //$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    //$sql = "SELECT * FROM customers where id = ?";
    //$q = $pdo->prepare($sql);
    //$q->execute(array($id));
    //$data = $q->fetch(PDO::FETCH_ASSOC);
    //$name = $data['name'];
    //$email = $data['email'];
    //$mobile = $data['mobile'];
    //Database::disconnect();

    //Retrieve the user details based on user id
    $db = Mysqldb::getInstance();
    $sql = "SELECT * FROM users where id = " . $id;
    $data = $db->find($sql);
    $name = $data['name'];
    $email = $data['email'];
    $mobile = $data['mobile'];
}
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <link   href="css/bootstrap.min.css" rel="stylesheet">
    </head>

    <body>
        <div class="container">

            <div class="span10 offset1">
                <div class="row">
                    <h3>修改用户 Update a User</h3>
                </div>

                <form class="form-horizontal" action="update.php?id=<?php echo $id ?>" method="post">
                    <div class="control-group <?php echo !empty($nameError) ? 'error' : ''; ?>">
                        <label class="control-label">姓名 <br>Name</label>
                        <div class="controls">
                            <input name="name" type="text"  placeholder="Name" value="<?php echo !empty($name) ? $name : ''; ?>">
                            <?php if (! empty($nameError)): ?>
                                <span class="help-inline"><?php echo $nameError; ?></span>
                            <?php endif; ?>
                        </div>
                    </div>
                    <div class="control-group <?php echo !empty($emailError) ? 'error' : ''; ?>">
                        <label class="control-label">电子邮件 <br>Email Address</label>
                        <div class="controls">
                            <input name="email" type="text" placeholder="Email Address" value="<?php echo !empty($email) ? $email : ''; ?>">
                            <?php if (! empty($emailError)): ?>
                                <span class="help-inline"><?php echo $emailError; ?></span>
                            <?php endif; ?>
                        </div>
                    </div>
                    <div class="control-group <?php echo !empty($mobileError) ? 'error' : ''; ?>">
                        <label class="control-label">手机号码 <br>Mobile Number</label>
                        <div class="controls">
                            <input name="mobile" type="text"  placeholder="Mobile Number" value="<?php echo !empty($mobile) ? $mobile : ''; ?>">
                            <?php if (! empty($mobileError)): ?>
                                <span class="help-inline"><?php echo $mobileError; ?></span>
                            <?php endif; ?>
                        </div>
                    </div>
                    <div class="form-actions">
                        <button type="submit" class="btn btn-success">修改 Update</button>
                        <a class="btn" href="index.php">返回 Back</a>
                    </div>
                </form>
            </div>

        </div> <!-- /container -->
    </body>
</html>